From 378a6dffce9aa27dfebda401a882584ac764a7f5 Mon Sep 17 00:00:00 2001 From: Kristian Rietveld Date: Tue, 1 Sep 2009 14:50:32 +0200 Subject: [PATCH] Generalize fixture setup code --- gtk/tests/filtermodel.c | 53 +++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/gtk/tests/filtermodel.c b/gtk/tests/filtermodel.c index 2463601c65..0f9be7592b 100644 --- a/gtk/tests/filtermodel.c +++ b/gtk/tests/filtermodel.c @@ -88,60 +88,57 @@ typedef struct } FilterTest; static void -filter_test_setup (FilterTest *fixture, - gconstpointer test_data) +filter_test_setup_generic (FilterTest *fixture, + gconstpointer test_data, + int depth, + gboolean empty, + gboolean unfiltered) { const GtkTreePath *vroot = test_data; + GtkTreeModel *filter; + + fixture->store = create_tree_store (depth, !empty); - fixture->store = create_tree_store (3, TRUE); /* Please forgive me for casting const away. */ - fixture->filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), (GtkTreePath *)vroot)); - gtk_tree_model_filter_set_visible_column (fixture->filter, 1); + filter = gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), + (GtkTreePath *)vroot); + fixture->filter = GTK_TREE_MODEL_FILTER (filter); + + if (!unfiltered) + gtk_tree_model_filter_set_visible_column (fixture->filter, 1); /* We need a tree view that's listening to get ref counting from that * side. */ - fixture->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (fixture->filter)); + fixture->tree_view = gtk_tree_view_new_with_model (filter); +} + +static void +filter_test_setup (FilterTest *fixture, + gconstpointer test_data) +{ + filter_test_setup_generic (fixture, test_data, 3, FALSE, FALSE); } static void filter_test_setup_empty (FilterTest *fixture, gconstpointer test_data) { - fixture->store = create_tree_store (3, FALSE); - fixture->filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), NULL)); - gtk_tree_model_filter_set_visible_column (fixture->filter, 1); - - /* We need a tree view that's listening to get ref counting from that - * side. - */ - fixture->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (fixture->filter)); + filter_test_setup_generic (fixture, test_data, 3, TRUE, FALSE); } static void filter_test_setup_unfiltered (FilterTest *fixture, gconstpointer test_data) { - fixture->store = create_tree_store (3, TRUE); - fixture->filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), NULL)); - - /* We need a tree view that's listening to get ref counting from that - * side. - */ - fixture->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (fixture->filter)); + filter_test_setup_generic (fixture, test_data, 3, FALSE, TRUE); } static void filter_test_setup_empty_unfiltered (FilterTest *fixture, gconstpointer test_data) { - fixture->store = create_tree_store (3, FALSE); - fixture->filter = GTK_TREE_MODEL_FILTER (gtk_tree_model_filter_new (GTK_TREE_MODEL (fixture->store), NULL)); - - /* We need a tree view that's listening to get ref counting from that - * side. - */ - fixture->tree_view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (fixture->filter)); + filter_test_setup_generic (fixture, test_data, 3, TRUE, TRUE); } static void -- 2.30.2